package Text2;
import java.util.Scanner;
public class Main {
    /*维护一个字符串集合，支持两种操作：
    I x 向集合中插入一个字符串 x；
    Q x 询问一个字符串在集合中出现了多少次。
    共有 N个操作，所有输入的字符串总长度不超过 1e5，字符串仅包含小写英文字母。*/
    /*输入格式
    第一行包含整数 N，表示操作数。
    接下来 N行，每行包含一个操作指令，指令为 I x 或 Q x 中的一种。*/
    public static final int N = 100010;
    int[][] son;
    int cnt[], idx;

    public Main() {
        this.son = new int[N][26];
        this.cnt = new int[N];
    }

    void insert(char[] str) {
        int p = 0, size = str.length;
        for (int i = 0; i < size; i++) {
            int u = str[i] - 'a';
            if (son[p][u] <= 0) {
                son[p][u] = ++idx;
            }
            p = son[p][u];
        }
        cnt[p]++;
    }

    int query(char[] str) {
        int p = 0, size = str.length;
        for (int i = 0; i < size; i++) {
            int u = str[i] - 'a';
            if (son[p][u] <= 0) {
                return 0;
            }
            p = son[p][u];
        }
        return cnt[p];
    }

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int n = scanner.nextInt();
        Main m = new Main();
        scanner.nextLine();
        while (n-- > 0) {
            String s = scanner.nextLine();
            String[] st = s.split(" ");
            String s1 = st[0];
            String s2 = st[1];
            if (s1.equals("I")) {
                m.insert(s2.toCharArray());
            } else {
                System.out.println(m.query(s2.toCharArray()));
            }

        }
    }
}